package cn.iocoder.yudao.module.ems.convert.equipment;

import java.util.*;

import cn.iocoder.yudao.framework.common.pojo.PageResult;

import cn.iocoder.yudao.module.ems.controller.admin.spares.vo.SparesRespVO;
import cn.iocoder.yudao.module.ems.dal.dataobject.eqtype.EqTypeDO;
import cn.iocoder.yudao.module.ems.dal.dataobject.equipment.EquipmentDO;
import cn.iocoder.yudao.module.ems.dal.dataobject.store.StoreDO;
import cn.iocoder.yudao.module.ems.dal.dataobject.supplier.SupplierDO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.iocoder.yudao.module.ems.controller.admin.equipment.vo.*;

/**
 * 设备 Convert
 *
 * @author 左达成
 */
@Mapper
public interface EquipmentConvert {

    EquipmentConvert INSTANCE = Mappers.getMapper(EquipmentConvert.class);

    EquipmentDO convert(EquipmentCreateReqVO bean);

    EquipmentDO convert(EquipmentUpdateReqVO bean);

    EquipmentRespVO convert(EquipmentDO bean);

    List<EquipmentRespVO> convertList(List<EquipmentDO> list);

    PageResult<EquipmentRespVO> convertPage(PageResult<EquipmentDO> page);

    List<EquipmentExcelVO> convertList02(List<EquipmentDO> list);
    
    List<EquipmentSimpleRespVO> convertList03(List<EquipmentDO> list);

    EquipmentRespVO.Supplier convert(SupplierDO bean);

    EquipmentRespVO.EqType convert(EqTypeDO bean);

    Collection<EquipmentRespVO.Equipment> convertCollection(Collection<EquipmentDO> list);

    EquipmentUpdateReqVO convert04(EquipmentDO bean);
}
